<?php
include './MinPHP/run/init.php';
defined('API') or exit();
$testMethod = $_POST['testMethod'];
$postData = $_POST;
if($testMethod==0){
	$reqUrl = $_POST['req_url'];
	unset($postData['req_url']);
}else{
	$reqUrl = $_POST['local_url'];
	unset($postData['local_url']);
}
unset($postData['testMethod']);


if(count($_FILES)>0){
	$uploadPath = str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/upload/".time();
	mkdir($uploadPath,0755,true);
	
	foreach ($_FILES as $name=>$info){
		copy($info['tmp_name'], $uploadPath.'/'.$info['name']);
		$postData[$name] = '@'.$uploadPath.'/'.$info['name'];
	}
	
}

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $reqUrl);
curl_setopt ( $ch, CURLOPT_VERBOSE, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)" );
curl_setopt ( $ch, CURLOPT_POST, true );

curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postData );

$response = curl_exec ( $ch );
$errorNo = curl_errno($ch);
$error = "";
if($errorNo>0){
	$error = curl_error($ch);
}

curl_close ( $ch );


if(!empty($uploadPath)){
	delDir($uploadPath);
}

?>

<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>结果</title>
<script src="./MinPHP/res/jquery.min.js"></script>
<script type="text/javascript">
var formatJson = function(json, options) {
    var reg = null,
        formatted = '',
        pad = 0,
        PADDING = '    '; // one can also use '\t' or a different number of spaces
  
    // optional settings
    options = options || {};
    // remove newline where '{' or '[' follows ':'
    options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false;
    // use a space after a colon
    options.spaceAfterColon = (options.spaceAfterColon === false) ? false : true;
  
    // begin formatting...
    if (typeof json !== 'string') {
        // make sure we start with the JSON as a string
        json = JSON.stringify(json);
    } else {
        // is already a string, so parse and re-stringify in order to remove extra whitespace
        json = JSON.parse(json);
        json = JSON.stringify(json);
    }
  
    // add newline before and after curly braces
    reg = /([\{\}])/g;
    json = json.replace(reg, '\r\n$1\r\n');
  
    // add newline before and after square brackets
    reg = /([\[\]])/g;
    json = json.replace(reg, '\r\n$1\r\n');
  
    // add newline after comma
    reg = /(\,)/g;
    json = json.replace(reg, '$1\r\n');
  
    // remove multiple newlines
    reg = /(\r\n\r\n)/g;
    json = json.replace(reg, '\r\n');
  
    // remove newlines before commas
    reg = /\r\n\,/g;
    json = json.replace(reg, ',');
  
    // optional formatting...
    if (!options.newlineAfterColonIfBeforeBraceOrBracket) {        
        reg = /\:\r\n\{/g;
        json = json.replace(reg, ':{');
        reg = /\:\r\n\[/g;
        json = json.replace(reg, ':[');
    }
    if (options.spaceAfterColon) {         
        reg = /\:/g;
        json = json.replace(reg, ': ');
    }
  
    $.each(json.split('\r\n'), function(index, node) {
        var i = 0,
            indent = 0,
            padding = '';
  
        if (node.match(/\{$/) || node.match(/\[$/)) {
            indent = 1;
        } else if (node.match(/\}/) || node.match(/\]/)) {
            if (pad !== 0) {
                pad -= 1;
            }
        } else {
            indent = 0;
        }
  
        for (i = 0; i < pad; i++) {
            padding += PADDING;
        }
  
        formatted += padding + node + '\r\n';
        pad += indent;
    });
  
    return formatted;
};

$("document").ready(function(){
	var result = $("#show").val();
	try{
		var formtResult = formatJson(result);
		$("#show").val(formatJson(result));
	}catch(e){
	}
});


</script>
</head>
<body>

<textarea rows="" cols="" readonly="readonly" id="show" style="width: 100%;height: 100%;font-size: 16px;font-weight: bold;border: 0;"><?php echo $error?><?php echo $response?></textarea>

</body>


</html>
